package com.atguigu.java;

/**
 * @author azzn1400820029
 * @create 2021-12-12 11:51
 */

/*
 * 二维数组的使用
 *
 * 1.理解：
 * 对于二维数组的理解，我们可以看成是一维数组array1又作为另一个一维数组array2的元素而存在。
 * 其实，从数组底层的运行机制来看，其实没有多维数组。
 *
 * 2. 二维数组的使用:
 *   ① 二维数组的声明和初始化
 *   ② 如何调用数组的指定位置的元素
 *   ③ 如何获取数组的长度
 *   ④ 如何遍历数组
 *   ⑤ 数组元素的默认初始化值 :见 ArrayTest3.java
 *   ⑥ 数组的内存解析 :见 ArrayTest3.java
 *
 *
 */

public class ArrayTest2 {
    public static void main(String[] args) {
//        1.二维数组的声明和初始化
//        静态初始化
        int[][] arr1 = new int[][] {{1, 2, 3}, {4, 5}, {6, 7, 8}};
        int[] arr5[] = {{1, 2, 3}, {4, 5}, {6, 7, 8}};
//        动态初始化一
        String[][] arr2 = new String[3][2];
//        动态初始化二
        String[][] arr3 = new String[3][];

//        2.调用数组中指定位置的元素
        System.out.println(arr1[0][1]);
        arr3[1] = new String[4];

//        3.获取二维数组的长度
        int countLength = 0;
        for (int i = 0; i < arr1.length; i++) {
            countLength += arr1[i].length;
        }

//       4.遍历二维数组
        for (int i = 0; i < arr1.length; i++) {
            for (int s : arr1[i]) {
                System.out.println(s);
            }
        }

    }
}
